package com.hue.simple;

import com.hue.utils.ConnectionUtils;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

/*
    消息生产者,简单模式
 */
public class Product {
    public static final String QUEUE_NAME = "simple_queue";

    public static void main(String[] args) throws IOException, TimeoutException {
        //2.获取连接
        Connection connection = ConnectionUtils.getConnection();
        //3.获取频道
        Channel channel = connection.createChannel();

        //4.声明队列
        /*
            参数含义:
                1.队列名
                2.是否定义持久化队列
                3.是否独占本地连接
                4.是否在不使用的时候自动删除队列
                5.其他参数
         */
        channel.queueDeclare(QUEUE_NAME, true, false, false, null);

        //5.发送消息
        /*
            参数含义：
                1.交换机名，没有就为空
                2.路由key，简单模式中可以使用队列名
                3.其他属性
                4.消息内容
         */
        channel.basicPublish("", QUEUE_NAME, null, "hello world!".getBytes());

        //6.关闭资源
        channel.close();
        connection.close();
    }
}
